package com.zbkj.service.service;

import com.github.pagehelper.PageInfo;
import com.zbkj.dal.entity.ba.Maintain;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.dal.pojo.request.PageParamRequest;
import com.zbkj.dal.pojo.request.ba.ConcludeMaintainRequest;
import com.zbkj.dal.pojo.request.ba.MaintainQueryRequest;
import com.zbkj.dal.pojo.request.ba.MaintainRequest;
import com.zbkj.dal.pojo.response.ba.MaintainDetailResponse;
import com.zbkj.dal.pojo.response.ba.MaintainResponse;
import com.zbkj.dal.pojo.response.ba.MyMaintainResponse;

import java.util.List;

/**
 * <p>
 * 维修保养 服务类
 * </p>
 *
 * @author jhui
 * @since 2023-10-03
 */
public interface MaintainService extends IService<Maintain> {

    /**
     * 我的维修保养订单
     * @param status
     * @param pageParamRequest
     * @return
     */
    List<MyMaintainResponse> listMyMaintain(Integer status, PageParamRequest pageParamRequest);

    /**
     * 删除我的奢品维修保养信息
     * @param id
     * @return
     */
    Boolean deleteMyMaintain(Integer id);

    /**
     * 创建维修保养信息
     * @param maintainRequest
     * @return
     */
    Boolean create(MaintainRequest maintainRequest);

    /**
     * 分页查询维修保养信息
     * @param maintainQueryRequest
     * @return
     */
    PageInfo<MaintainResponse> queryMaintainPaged(MaintainQueryRequest maintainQueryRequest, PageParamRequest pageParamRequest);

    /**
     * 判定结果
     * @param concludeMaintainRequest
     */
    boolean conclude(ConcludeMaintainRequest concludeMaintainRequest);

    /**
     * 维修保养详情
     * @param id
     * @return
     */
    MaintainDetailResponse detail(Integer id);
}
